The present invention relates to a method for decoding a code having redundant bits added to information bits and transmitted as an error correcting block code, and more particularly to a method for decoding an error correcting block code which is suitable for use in, for example, a data transmission system for land mobile radio communication employing a frequency modulation communication system.
As is well-known in the art, data transmission in mobile communication suffers code errors which are caused by deep and high-speed fading which occur in the transmission line. It is therefore indispensable to effect some error control scheme. In the environment of mobile communication in which the pattern of errors undergoes various changes with the fluctuation in the fading pitch, it is considered suitable to use a random error correcting block code whose error correcting capability depends solely on the number of errors in a frame of error correcting block code.
For decoding this error correcting block code, there has been employed minimum distance decoding whose error correcting capability relies only upon algebraic redundancy of the code. However, the minimum distance decoding determines a code word closest to a received word on the basis of the algebraic property of the code, and the error probability of each digit of the received word does not attribute to the decoding. That is, the error probability of respective digits are all regarded as equal, and the decoding becomes erroneous when the number of error bits exceeds a value allowed by the error correcting capability which depends on the code distance.
On the other hand, there has been proposed maximum likelihood decoding, according to which the probabilities of code words regarded to have been transmitted are calculated using the error probability of each bit, and a code word with the maximum probability is delivered as the result of decoding. This maximum likelihood decoding permits the correction of errors exceeding in number the error correcting capability.
When the error probabilities of all digits of the received word are equal, the minimum distance decoding is equivalent to the maximum likelihood decoding, but not so when the error probabilities of the respective digits are different as in the case of mobile communication Conversely, there is the possibility, in mobile digital communication, that the word error rate characteristic can be improved by employing the maximum likelihood decoding. It is considered to be rather natural to use the maximum likelihood decoding in mobile digital communication in which the receiving electric field level, that is, the received carrier level greatly fluctuates.
For example, in conventional mobile communication systems, improvement of reliability by diversity and improvement of reliability by error correction are handled independently of each other. On this account, information representing the reliability of each bit, which is obtained in diversity reception, is not utilized at all in decoding error correcting codes. In a conventional space diversity reception system, a plurality of receiving antennas 1.sub.1 through 1.sub.M are disposed apart, as shown in FIG. 1. Each code is transmitted in the form of an error correcting code from the transmitting side, and the same transmitted signal is received by the receiving antennas 1.sub.1 to 1.sub.M, from which the received signals are applied to receivers 2.sub.1 through 2.sub.M for demodulation. The receivers 2.sub.1 through 2.sub.M also provide received carrier levels to a selection circuit 11, wherein the maximum one of the received carrier levels (or carrier-to-noise ratios) is selected. In accordance with the result of selection by the selection circuit 11 the demodulated output corresponding to the maximum received signal level is selected from the demodulated outputs of the receivers 2.sub.1 to 2.sub.M via a diversity switch 12, and is applied to an error correcting code decoder 13, wherein it is subjected to error correcting code decoding, the decoded output being provided at an output terminal 14. Incidentally, the M receiving systems made up of the receiving antennas 1.sub.1 to 1.sub.M and the receivers 2.sub.1 to 2.sub.M corresponding thereto are called receiving branches.
In addition to the above system in which a plurality of receiving antennas are disposed spatially apart, there are some other diversity systems such as a frequency diversity system in which the same code is transmitted over plural channels of different frequency bands and a time diversity system in which the same code is transmitted a plurality of times in a time sequence. In this case, the demodulation output with the maximum carrier-to-noise ratio (hereinafter referred to as a CN ratio or CNR) or received carrier level is selected. The receiver system corresponding to each transmitting system is called a receiving branch.
According to the diversity reception system, the demodulated output is always obtained from the receiving branch whose received carrier level is maximum, and the error correcting decoding is carried out in the selected receiving branch, thereby improving the deteriorated transmission reliability which is caused by variations in the received carrier level such as fading.
In this system, however, since the bitwise decoding based on the condition of the maximum received carrier level and the decoding of the error correcting code are entirely independent of each other, information on the reliability of selection in the diversity reception is not ever made use of in the decoding of the error correcting code. Accordingly, even in the case where a certain bit in the receiving branch with the maximum received carrier level is erroneous but the corresponding bits in the other receiving branches are received correctly, the correct bits are not utilized and the error at the bit in the receiving branch with the maximum received carrier level affects the decoding of the error correcting code. When bit errors occur in excess of the capability of the error correcting code, the frame is rejected or decoded erroneously.
On the other hand, soft decision decoding which utilizes level information in the bitwise decoding for the decoding of a block code has been introduced in literature [D. Chase, "A Class Of Algorithms For Decoding Block Codes With Channel Measurement Information", IEEE Trans. IT-18, No. 1, Jan. 1972], and it is set forth in this literature that the error correcting capability of the block code can be extended by the soft decision decoding.
According to this method, a code word X.sub.j which satisfies the following expression (1) is delivered as the decoded output: ##EQU1## In the above, .OMEGA..sub.x : whole set of code words X
X.sub.j : j-th code word in the set .OMEGA..sub.x PA1 X.sub.ji : i-th digit of the code word X.sub.j PA1 Y.sub.i : i-th digit of a received word Y PA1 l.sub.i : channel measurement information at the time of decoding the i-th digit of the received word Y PA1 .sym.: exclusive OR operation PA1 Min: to determine the code word X.sub.j in the set .OMEGA..sub.x which minimizes the left side of expression (1) PA1 .vertline. .vertline.: absolute value
X.sub.j =(X.sub.j1, X.sub.j2, . . . , X.sub.ji, . . . , X.sub.jN)
Y=(Y.sub.1, Y.sub.2, . . . , Y.sub.i, . . . , Y.sub.N)
Now, consider a coding in which "0" and "1" are encoded into "000" and "111", which are respectively represented by X.sub.1 and X.sub.2, that is, .OMEGA..sub.x ={X.sub.1, X.sub.2 }={(000), (111)}. In the decoding of each received word Y of three bits, the information "0" or "1" whose number is larger than the other in the 3-bit received word Y is provided as the decoded output. Let it be assumed that the transmitting side has transmitted a code word X.sub.2 =(111) in the form in which "1" and "0" are represented by 1 and -1 [Volt], respectively, and that the receiving side has detected such a waveform 18 as shown in FIG. 2. In FIG. 2, the numerical values in parentheses ( ) represent levels of detected outputs in the decoding of the detected waveform 18 and T indicates the time slot of one bit in the detected waveform 18. In the decoding method in which the level of each digit of the detected waveform 18 is made to correspond to a "1" or "0" depending upon whether the level is positive or negative at the time of decision, the received word Y in the example of FIG. 2 is rendered to Y=(100). In this instance, since the number of "0's" is larger than the number of "1's" the information "0" is regarded to have been transmitted, resulting in erroneous decoding.
In the soft decision decoding using the expression (1), however, l.sub.1 =1, l.sub.2 =-0.2, l.sub.3 =-0.2, and Y=(Y.sub.1, Y.sub.2, Y.sub.3)=(100). Consequently, for a candidate code word, that is, a reference code word X.sub.1 =(X.sub.11, X.sub.12, X.sub.13) =(000), the left side of expression (1) becomes as follows: ##EQU2## and for a reference code word X.sub.2 =(111), ##EQU3## For the code word X.sub.2, the expression (1) is minimum, so the information "1" is regarded to have been transmitted and the received word is correctly decoded.
In this way, according to the soft decision decoding, those of the corresponding digits of the reference code word X.sub.j and the received word Y which differ from each other are each multiplied by a weight corresponding to the reliability of the decision, as a weight coefficient, that is, the level value l.sub.i in this example, and it is regarded that the code word (the reference code word) which minimizes the sum total of multiplied values has been transmitted. This decoding method is characterized in that the reliability information (the level value) obtainable in the bitwise decision of received word is utilized for defining the code distance between the code word and the received word in the process of decoding the error correcting code. This enables the decoding of each bit and the decoding of the error correcting code to be performed integrally, permitting the extension of the error correcting capability.
As described above, the error correcting capability can be increased by utilizing, even in the process of decoding the error correcting code, the level information of FM detection output which is obtainable at the time of decoding each digit (each bit). However, since a non-Gaussian noise such as a click noise appears in the FM detection output, even if the detection level is high, the reliability cannot always be regarded to be high. For this reason, the utilization of the detection output level as the reliability information in the process of decoding the error correcting code does not necessarily provide for increased error correcting capability in terms of accuracy.
Moreover, since the prior art utilizes an analog value of the detection level, it is necessary to convert the detected level to a digital form for digital processing, rendering the entire arrangement complicated accordingly.